In general most software applications for business have been deployed in environments with infrastructure designed to handle a peak capacity. Typically systems and support services have been designed with excess capacity built in to handle differences between peak and average use. In fact most of the times these environments do not operate at peak capacity but resources have to be sized to handle the peak demand periods. When not operating at peak capacity the systems and software running thereon are typically underutilized. In many cases software licenses associated with the software installed on these systems, are typically tied to specific environment capacity metrics, resulting in less than optimal cost of ownership. Software licenses have restrictions on the usage of the associated software, such as number of users per copy. The software licensing agreements have typically assumed continuous usage of the resources, while most of the time such usage does not occur.
Sharing licenses or license pooling as is known in the art is one means of making a number of software licenses available for use without having to have assigned one license to every potential user. This sharing approach allows for the acquisition of fewer licenses than would have been provided in a peak demand model. There are fewer licenses than users in a shared or pooled model since the licenses are spread over the user community with the expectation that not all users will need to access the software all of the time. Such licensing models do not typically discriminate among users as to who is authorized to make use of a shared license at a particular time, resulting in problems of allocating licenses to those who need them at a given time.
Therefore what is required is a more cost effective way to manage the availability of software licenses (and associated software) while addressing the needs of users of the software.